/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package podologia.beansDB;

import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.Lob;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;

/**
 *
 * @author Hernan
 */
@Entity
@Table(name = "antepatoxpaciente")
@NamedQueries({@NamedQuery(name = "Antepatoxpaciente.findByIdPaciente", query = "SELECT a FROM Antepatoxpaciente a WHERE a.antepatoxpacientePK.idPaciente = :idPaciente"), @NamedQuery(name = "Antepatoxpaciente.findByIdAntePato", query = "SELECT a FROM Antepatoxpaciente a WHERE a.antepatoxpacientePK.idAntePato = :idAntePato")})
public class Antepatoxpaciente implements Serializable {
    private static final long serialVersionUID = 1L;
    @EmbeddedId
    protected AntepatoxpacientePK antepatoxpacientePK;
    @Lob
    @Column(name = "caracteristica")
    private String caracteristica;
    @JoinColumn(name = "idPaciente", referencedColumnName = "idPaciente", insertable = false, updatable = false)
    @ManyToOne
    private Paciente paciente;
    @JoinColumn(name = "idAntePato", referencedColumnName = "idAntecedentePato", insertable = false, updatable = false)
    @ManyToOne
    private Antecedentepato antecedentepato;

    public Antepatoxpaciente() {
    }

    public Antepatoxpaciente(AntepatoxpacientePK antepatoxpacientePK) {
        this.antepatoxpacientePK = antepatoxpacientePK;
    }

    public Antepatoxpaciente(int idPaciente, int idAntePato) {
        this.antepatoxpacientePK = new AntepatoxpacientePK(idPaciente, idAntePato);
    }

    public AntepatoxpacientePK getAntepatoxpacientePK() {
        return antepatoxpacientePK;
    }

    public void setAntepatoxpacientePK(AntepatoxpacientePK antepatoxpacientePK) {
        this.antepatoxpacientePK = antepatoxpacientePK;
    }

    public String getCaracteristica() {
        return caracteristica;
    }

    public void setCaracteristica(String caracteristica) {
        this.caracteristica = caracteristica;
    }

    public Paciente getPaciente() {
        return paciente;
    }

    public void setPaciente(Paciente paciente) {
        this.paciente = paciente;
    }

    public Antecedentepato getAntecedentepato() {
        return antecedentepato;
    }

    public void setAntecedentepato(Antecedentepato antecedentepato) {
        this.antecedentepato = antecedentepato;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (antepatoxpacientePK != null ? antepatoxpacientePK.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Antepatoxpaciente)) {
            return false;
        }
        Antepatoxpaciente other = (Antepatoxpaciente) object;
        if ((this.antepatoxpacientePK == null && other.antepatoxpacientePK != null) || (this.antepatoxpacientePK != null && !this.antepatoxpacientePK.equals(other.antepatoxpacientePK))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "podologia.beansDB.Antepatoxpaciente[antepatoxpacientePK=" + antepatoxpacientePK + "]";
    }

}
